1
Leçon 7 : Le transfert d'apprentissage – Exploiter les connaissances
EvoClass-AI002Lecture 7
00:00

Bienvenue à la leçon 7, où nous introduisons le transfert d'apprentissage. Cette technique consiste à réutiliser un modèle d'apprentissage profond déjà entraîné sur un grand jeu de données général (comme ImageNet) et à l'adapter pour résoudre une nouvelle tâche spécifique (comme notre défi FoodVision). Elle est essentielle pour atteindre des résultats de pointe de manière efficace, surtout lorsque les jeux de données étiquetés sont limités.

1. La puissance des poids pré-entraînés

Les réseaux neuronaux profonds apprennent les caractéristiques de manière hiérarchique. Les couches inférieures apprennent des concepts fondamentaux (bords, coins, textures), tandis que les couches plus profondes combinent ces éléments en concepts complexes (yeux, roues, objets spécifiques). La clé de l'insight est que les caractéristiques fondamentales apprises au début sont universellement applicables dans la plupart des domaines visuels.

Composants du transfert d'apprentissage

  • Tâche source : Entraînement sur 14 millions d'images et 1000 catégories (par exemple, ImageNet).
  • Tâche cible : Adaptation des poids pour classer un jeu de données bien plus petit (par exemple, nos catégories spécifiques FoodVision).
  • Composant exploité : La grande majorité des paramètres du réseau — les couches d'extraction de caractéristiques — sont réutilisées directement.
Gains d'efficacité
Le transfert d'apprentissage réduit considérablement deux barrières majeures en ressources : Coût computationnel (vous évitez d'entraîner tout le modèle pendant plusieurs jours) et Exigence en données (une haute précision peut être obtenue avec des centaines, plutôt que des milliers, d'exemples d'entraînement).
train.py
TERMINALbash — pytorch-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary advantage of using a model pre-trained on ImageNet for a new vision task?
It requires less labeled data than training from scratch.
It completely eliminates the need for any training data.
It guarantees 100% accuracy immediately.
Question 2
In a Transfer Learning workflow, which part of the neural network is typically frozen?
The final Output Layer (Classifier Head).
The Convolutional Base (Feature Extractor layers).
The entire network is usually unfrozen.
Question 3
When replacing the classifier head in PyTorch, what parameter must you first determine from the frozen base?
The batch size of the target data.
The input feature size (the output dimensions of the last convolutional layer).
The total number of model parameters.
Challenge: Adapting the Classifier Head
Designing a new classifier for FoodVision.
You load a ResNet model pre-trained on ImageNet. Its last feature layer outputs a vector of size 512. Your 'FoodVision' project has 7 distinct food classes.
Step 1
What is the required Input Feature size for the new, trainable Linear Layer?
Solution:
The Input Feature size must match the output of the frozen base layer.
Size: 512.
Step 2
What is the PyTorch code snippet to create this new classification layer (assuming the output is named `new_layer`)?
Solution:
The output size of 512 is the input, and the class count 7 is the output.
Code: new_layer = torch.nn.Linear(512, 7)
Step 3
What is the required Output Feature size for the new Linear Layer?
Solution:
The Output Feature size must match the number of target classes.
Size: 7.